package com.linxiao.hrcrm.domain;

import java.math.BigDecimal;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 客户余额记录对象 crm_customer_balance
 *
 * @author zhoudong
 * @date 2024-01-03
 */
public class CrmCustomerBalance extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 余额类型，现金余额
     */
    public static final String BALANCE_TYPE_BALANCE = "BALANCE";
    /**
     * 余额类型，红包
     */
    public static final String BALANCE_TYPE_REDPACKET = "REDPACKET";

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 商户ID
     */
    @Excel(name = "商户ID")
    private Long mchId;

    /**
     * 客户ID
     */
    @Excel(name = "客户ID")
    private Long customerId;

    /**
     * 类型
     */
    @Excel(name = "类型")
    private String balanceType;

    /**
     * 余额
     */
    @Excel(name = "余额")
    private BigDecimal balanceAmount;

    /** 客户名称，不保存数据库，仅做展示使用 */
    @Excel(name = "客户名称")
    private String customerName;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setMchId(Long mchId) {
        this.mchId = mchId;
    }

    public Long getMchId() {
        return mchId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setBalanceType(String balanceType) {
        this.balanceType = balanceType;
    }

    public String getBalanceType() {
        return balanceType;
    }

    public void setBalanceAmount(BigDecimal balanceAmount) {
        this.balanceAmount = balanceAmount;
    }

    public BigDecimal getBalanceAmount() {
        return balanceAmount;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("mchId", getMchId())
                .append("customerId", getCustomerId())
                .append("balanceType", getBalanceType())
                .append("balanceAmount", getBalanceAmount())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
